
'''1. 1. 自己复现登录流程，
要求
* 定位元素与脚本分离
* 实现 PO 三层架构
* 先自己写（凭记忆，一步一步实现，实在想不出，可参考讲义）
'''
from ConfigFile.Varconfig import testdata_path

'2. 完成 选择排序优化'
# def stru(lis, n, i):
#     largest_i = i
#     l = 2*i + 1
#     r = 2*i + 2
#     if l<n and lis[i] < lis[l]:
#         largest_i = l
#     if r<n and lis[largest_i] < lis[r]:
#         largest_i = r
#     if largest_i != i:
#         lis[i], lis[largest_i] = lis[largest_i], lis[i]
#         stru(lis, n, largest_i)
#
# def sort1(lis):
#     n = len(lis)
#
#     for i in range(n, -1, -1):
#         stru(lis, n, i)
#
#     for i in range(n-1, 0, -1):
#         lis[i], lis[0] = lis[0], lis[i]   # 交换
#         stru(lis, i, 0)
#
# lis = [1,5,3,7,6,9]
# sort1(lis)
# print(lis)


'''
3.给定一个整数数组，判断是否存在重复元素。(简单)
如果存在一值在数组中出现至少两次，函数返回 true 。如果数组中每个元素都不相同，则返回 false 。
(用两种以上方法)
'''
# lis = [1,2,3,1]
# if len(set(lis)) == len(lis):
#     print(False)
# else:
#     print(True)

'''4. 给你一个整型数组 nums ，在数组中找出由三个数组成的最大乘积，并输出这个乘积。'''

# def max(lis):
#     lis.sort(reverse=True)
#     print(f'最大乘积为：{lis[0]*lis[1]*lis[2]}')
#
# max([1,2,3,4])

'''
5. 如何从一个有序列表的1000个元素里面找到674这个元素的索引  （用递归）
data = [1,3,5,9,10,25,27,39.........674,698................]
'''

# def select(lis,n,lower,upper):             #lis列表，n要找的数字，lower是列表的最小索引，upper是最大索引
#     middle = (lower + upper)//2
#     if n > lis[middle]:
#         return select(lis,n,middle+1,upper)
#     elif n < lis[middle]:
#         return select(lis,n,lower,middle)
#     else:
#         return middle
# lis = list(range(1,1001))
# print(select(lis,674,0,999))

from openpyxl import load_workbook

wb = load_workbook(testdata_path)
print(wb.sheetnames)